<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSD1306 OLED display driver: NanoEngineTiler&lt; C, W, H, B &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SSD1306 OLED display driver
   &#160;<span id="projectnumber">1.8.2</span>
   </div>
   <div id="projectbrief">This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_nano_engine_tiler-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">NanoEngineTiler&lt; C, W, H, B &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="tiler_8h_source.html">tiler.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for NanoEngineTiler&lt; C, W, H, B &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_nano_engine_tiler.png" usemap="#NanoEngineTiler_3C_20C_2C_20W_2C_20H_2C_20B_20_3E_map" alt=""/>
  <map id="NanoEngineTiler_3C_20C_2C_20W_2C_20H_2C_20B_20_3E_map" name="NanoEngineTiler_3C_20C_2C_20W_2C_20H_2C_20B_20_3E_map">
<area href="class_nano_engine.html" alt="NanoEngine&lt; C, W, H, B &gt;" shape="rect" coords="0,56,194,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2e3b56213e7b3b9eadd884f989c6af53"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a2e3b56213e7b3b9eadd884f989c6af53">getPosition</a> () const</td></tr>
<tr class="separator:a2e3b56213e7b3b9eadd884f989c6af53"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0fe7b834cc4900820adf06a62259f53b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a0fe7b834cc4900820adf06a62259f53b">refresh</a> ()</td></tr>
<tr class="separator:a0fe7b834cc4900820adf06a62259f53b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6834b72d9e61bbbb9eff3555012cb78c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a6834b72d9e61bbbb9eff3555012cb78c">refresh</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;rect)</td></tr>
<tr class="separator:a6834b72d9e61bbbb9eff3555012cb78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b3de5341c599c87d4650448d60ff13"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a35b3de5341c599c87d4650448d60ff13">refresh</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;point)</td></tr>
<tr class="separator:a35b3de5341c599c87d4650448d60ff13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7060e92a472d39adb0dc8b8eabb0bc20"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a7060e92a472d39adb0dc8b8eabb0bc20">refresh</a> (<a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> x1, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> y1, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> x2, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> y2)</td></tr>
<tr class="separator:a7060e92a472d39adb0dc8b8eabb0bc20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701599513e1157f93e30cf64f4984f0b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a701599513e1157f93e30cf64f4984f0b">refreshWorld</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;rect)</td></tr>
<tr class="separator:a701599513e1157f93e30cf64f4984f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d9795c4758c1138b825bdafa1d44557"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a6d9795c4758c1138b825bdafa1d44557">refreshWorld</a> (<a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> x1, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> y1, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> x2, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a> y2)</td></tr>
<tr class="separator:a6d9795c4758c1138b825bdafa1d44557"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a670262f9b356b1e20df49c4ad356d040"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a670262f9b356b1e20df49c4ad356d040">refreshWorld</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;point)</td></tr>
<tr class="separator:a670262f9b356b1e20df49c4ad356d040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99a34e97116017a6ccbf187fee563516"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a99a34e97116017a6ccbf187fee563516">localCoordinates</a> ()</td></tr>
<tr class="separator:a99a34e97116017a6ccbf187fee563516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaccaab0e16f78b92576a983aeb59f90"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#aeaccaab0e16f78b92576a983aeb59f90">worldCoordinates</a> ()</td></tr>
<tr class="separator:aeaccaab0e16f78b92576a983aeb59f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8241cced3faa62ae75e40afc88870fca"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a8241cced3faa62ae75e40afc88870fca">moveTo</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;position)</td></tr>
<tr class="separator:a8241cced3faa62ae75e40afc88870fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab35b23771a8e9f007b9dfb7395e6ed13"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#ab35b23771a8e9f007b9dfb7395e6ed13">moveToAndRefresh</a> (const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;position)</td></tr>
<tr class="separator:ab35b23771a8e9f007b9dfb7395e6ed13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb00c2eb51df5d80ca2e0004efae05a6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#acb00c2eb51df5d80ca2e0004efae05a6">drawCallback</a> (<a class="el" href="tiler_8h.html#a5db298dc5fe7132d3190e5e423b6da6a">TNanoEngineOnDraw</a> callback)</td></tr>
<tr class="separator:acb00c2eb51df5d80ca2e0004efae05a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a591a25e7e08b3c9640c6e87e4d912457"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a591a25e7e08b3c9640c6e87e4d912457">collision</a> (<a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;p, <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;rect)</td></tr>
<tr class="memdesc:a591a25e7e08b3c9640c6e87e4d912457"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if point is inside the rectangle area. Returns true if point is inside the rectangle area.  <a href="#a591a25e7e08b3c9640c6e87e4d912457">More...</a><br /></td></tr>
<tr class="separator:a591a25e7e08b3c9640c6e87e4d912457"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:aff885e01ce1a84146fbaa1ea38e47b37"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#aff885e01ce1a84146fbaa1ea38e47b37">NE_TILE_SIZE_BITS</a> = B</td></tr>
<tr class="separator:aff885e01ce1a84146fbaa1ea38e47b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08c84aaa34760f914a309006cb775f78"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a08c84aaa34760f914a309006cb775f78">NE_TILE_WIDTH</a> = W</td></tr>
<tr class="separator:a08c84aaa34760f914a309006cb775f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae69fc60e9fcc37ec005e21af90a67759"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#ae69fc60e9fcc37ec005e21af90a67759">NE_TILE_HEIGHT</a> = H</td></tr>
<tr class="separator:ae69fc60e9fcc37ec005e21af90a67759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8565b5893234cf6a90723520df35201"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#ac8565b5893234cf6a90723520df35201">NE_MAX_TILES_NUM</a> = 64 &gt;&gt; (B - 3)</td></tr>
<tr class="separator:ac8565b5893234cf6a90723520df35201"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a099c5ce691d1b4f9a0c2ace669f10b71"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a099c5ce691d1b4f9a0c2ace669f10b71">NanoEngineTiler</a> ()</td></tr>
<tr class="separator:a099c5ce691d1b4f9a0c2ace669f10b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1199d9ef403213788c83abf74ded68d8"><td class="memItemLeft" align="right" valign="top">static C&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a1199d9ef403213788c83abf74ded68d8">canvas</a></td></tr>
<tr class="separator:a1199d9ef403213788c83abf74ded68d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa4fafbc1339cb6bef17d0aeabd94a44"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#aaa4fafbc1339cb6bef17d0aeabd94a44">m_refreshFlags</a> [<a class="el" href="class_nano_engine_tiler.html#ac8565b5893234cf6a90723520df35201">NE_MAX_TILES_NUM</a>]</td></tr>
<tr class="separator:aaa4fafbc1339cb6bef17d0aeabd94a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184dd26abea919c6a7d84d2d20b53a75"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="tiler_8h.html#a5db298dc5fe7132d3190e5e423b6da6a">TNanoEngineOnDraw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a184dd26abea919c6a7d84d2d20b53a75">m_onDraw</a> = nullptr</td></tr>
<tr class="separator:a184dd26abea919c6a7d84d2d20b53a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f7ba05a46f9033d548390d5c8107110"><td class="memItemLeft" align="right" valign="top"><a id="a6f7ba05a46f9033d548390d5c8107110"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#a6f7ba05a46f9033d548390d5c8107110">displayBuffer</a> ()</td></tr>
<tr class="memdesc:a6f7ba05a46f9033d548390d5c8107110"><td class="mdescLeft">&#160;</td><td class="mdescRight">refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update the screen. Engine will update only those areas, which are marked by <a class="el" href="class_nano_engine_tiler.html#a0fe7b834cc4900820adf06a62259f53b">refresh()</a> methods. <br /></td></tr>
<tr class="separator:a6f7ba05a46f9033d548390d5c8107110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9642cbeff5b4de207b379d4bbb07ba8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_engine_tiler.html#ac9642cbeff5b4de207b379d4bbb07ba8">displayPopup</a> (const char *msg)</td></tr>
<tr class="memdesc:ac9642cbeff5b4de207b379d4bbb07ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">prints popup message over display content prints popup message over display content  <a href="#ac9642cbeff5b4de207b379d4bbb07ba8">More...</a><br /></td></tr>
<tr class="separator:ac9642cbeff5b4de207b379d4bbb07ba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt;<br />
class NanoEngineTiler&lt; C, W, H, B &gt;</h3>

<p>This class template is responsible for holding and updating data about areas to be refreshed on LCD display. It accepts canvas class, tile width in pixels, tile height in pixels and number of bits in tile width as arguments for the template. For example, for 8x8 8-bit RGB tiles the reference should be NanoEngineTiler&lt;NanoCanvas8,8,8,3&gt;, and 3 bits means 3^2 = 8. If you need to have single big buffer, holding the whole content for monochrome display, you can specify something like this NanoEngineTiler&lt;NanoCanvas1,128,64,7&gt;. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00080">80</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a099c5ce691d1b4f9a0c2ace669f10b71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a099c5ce691d1b4f9a0c2ace669f10b71">&#9670;&nbsp;</a></span>NanoEngineTiler()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::<a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Only child classes can initialize the engine </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00084">84</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a591a25e7e08b3c9640c6e87e4d912457"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a591a25e7e08b3c9640c6e87e4d912457">&#9670;&nbsp;</a></span>collision()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::collision </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;&#160;</td>
          <td class="paramname"><em>rect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if point is inside the rectangle area. Returns true if point is inside the rectangle area. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>- point to check </td></tr>
    <tr><td class="paramname">rect</td><td>- rectangle, describing the region to check with the point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if point is inside the rectangle area. </dd></dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00252">252</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="ac9642cbeff5b4de207b379d4bbb07ba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9642cbeff5b4de207b379d4bbb07ba8">&#9670;&nbsp;</a></span>displayPopup()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C , lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::displayPopup </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>prints popup message over display content prints popup message over display content </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msg</td><td>- message to display </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00329">329</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="acb00c2eb51df5d80ca2e0004efae05a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb00c2eb51df5d80ca2e0004efae05a6">&#9670;&nbsp;</a></span>drawCallback()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::drawCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="tiler_8h.html#a5db298dc5fe7132d3190e5e423b6da6a">TNanoEngineOnDraw</a>&#160;</td>
          <td class="paramname"><em>callback</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets user-defined draw callback. This callback will be called everytime, engine needs to update display content. If callback returns false, engine will not update those area. You always have a way to find out, which area is being updated by engine via NanoEngine&lt;&gt;::canvas::getOffset() and NanoEngine&lt;&gt;::NE_TILE_SIZE. </p><dl class="section warning"><dt>Warning</dt><dd>By default canvas in the engine is initialized with local screen coordinates. So graphics object with [0,0] coordinates will be placed at topleft position on the display. But engine supports also global coordinates, in this case actual object position depends on current engine offset. Refer to <a class="el" href="class_nano_engine_tiler.html#aeaccaab0e16f78b92576a983aeb59f90">worldCoordinates()</a> and <a class="el" href="class_nano_engine_tiler.html#a99a34e97116017a6ccbf187fee563516">localCoordinates()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>- user-defined draw callback. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>you can change draw callback anytime you need. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_nano_engine_tiler.html#aeaccaab0e16f78b92576a983aeb59f90">worldCoordinates()</a> </dd>
<dd>
<a class="el" href="class_nano_engine_tiler.html#a99a34e97116017a6ccbf187fee563516">localCoordinates()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00240">240</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a2e3b56213e7b3b9eadd884f989c6af53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e3b56213e7b3b9eadd884f989c6af53">&#9670;&nbsp;</a></span>getPosition()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a>&amp; <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::getPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns current World offset </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00220">220</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a99a34e97116017a6ccbf187fee563516"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99a34e97116017a6ccbf187fee563516">&#9670;&nbsp;</a></span>localCoordinates()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::localCoordinates </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Switches engine canvas to local coordinates system. This method can be useful to ease up drawing of some static elements on lcd display. </p><dl class="section warning"><dt>Warning</dt><dd>do not call twice subsequentally. </dd></dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00184">184</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a8241cced3faa62ae75e40afc88870fca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8241cced3faa62ae75e40afc88870fca">&#9670;&nbsp;</a></span>moveTo()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::moveTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Moves engine coordinate to new position (this sets World coordinates offset). </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00202">202</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="ab35b23771a8e9f007b9dfb7395e6ed13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab35b23771a8e9f007b9dfb7395e6ed13">&#9670;&nbsp;</a></span>moveToAndRefresh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::moveToAndRefresh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Moves engine coordinate to new position and mark whole display for refresh (this sets World coordinates offset). </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00211">211</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a0fe7b834cc4900820adf06a62259f53b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe7b834cc4900820adf06a62259f53b">&#9670;&nbsp;</a></span>refresh() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refresh </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks all tiles for update. Actual update will take place in display() method. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00105">105</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a6834b72d9e61bbbb9eff3555012cb78c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6834b72d9e61bbbb9eff3555012cb78c">&#9670;&nbsp;</a></span>refresh() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refresh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;&#160;</td>
          <td class="paramname"><em>rect</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Mark specified area in pixels for redrawing by <a class="el" href="class_nano_engine.html">NanoEngine</a>. Actual update will take place in display() method. </p><dl class="section note"><dt>Note</dt><dd>assumes that rect is in local screen coordinates </dd></dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00115">115</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a35b3de5341c599c87d4650448d60ff13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35b3de5341c599c87d4650448d60ff13">&#9670;&nbsp;</a></span>refresh() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refresh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Mark specified area in pixels for redrawing by <a class="el" href="class_nano_engine.html">NanoEngine</a>. Actual update will take place in display() method. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00124">124</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a7060e92a472d39adb0dc8b8eabb0bc20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7060e92a472d39adb0dc8b8eabb0bc20">&#9670;&nbsp;</a></span>refresh() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refresh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Mark specified area in pixels for redrawing by <a class="el" href="class_nano_engine.html">NanoEngine</a>. Actual update will take place in display() method. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00134">134</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a701599513e1157f93e30cf64f4984f0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a701599513e1157f93e30cf64f4984f0b">&#9670;&nbsp;</a></span>refreshWorld() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refreshWorld </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga4a82780f66e02834d957e77e70cc17d7">NanoRect</a> &amp;&#160;</td>
          <td class="paramname"><em>rect</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks for refresh lcd area, which corresponds to specified rectangle in global (World) coordinates. If engine offset is (0,0), then this function refreshes the same area as <a class="el" href="class_nano_engine_tiler.html#a0fe7b834cc4900820adf06a62259f53b">refresh()</a>. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00155">155</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a6d9795c4758c1138b825bdafa1d44557"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d9795c4758c1138b825bdafa1d44557">&#9670;&nbsp;</a></span>refreshWorld() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refreshWorld </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga609c6ba2ba635102cd316b7b59af8351">lcdint_t</a>&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks for refresh lcd area, which corresponds to specified rectangle in global (World) coordinates. If engine offset is (0,0), then this function refreshes the same area as <a class="el" href="class_nano_engine_tiler.html#a0fe7b834cc4900820adf06a62259f53b">refresh()</a>. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00165">165</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a670262f9b356b1e20df49c4ad356d040"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a670262f9b356b1e20df49c4ad356d040">&#9670;&nbsp;</a></span>refreshWorld() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::refreshWorld </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___n_a_n_o___e_n_g_i_n_e___a_p_i.html#ga6bed080ec75d21960ecff045b5b110ff">NanoPoint</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks specified pixel area for redrawing by <a class="el" href="class_nano_engine.html">NanoEngine</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>point in global (World) coordinates </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00174">174</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="aeaccaab0e16f78b92576a983aeb59f90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaccaab0e16f78b92576a983aeb59f90">&#9670;&nbsp;</a></span>worldCoordinates()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::worldCoordinates </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Switches engine canvas to global (World) coordinates system. This method can be useful to create screen moving animation. </p><dl class="section warning"><dt>Warning</dt><dd>do not call twice subsequentally. </dd></dl>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00194">194</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1199d9ef403213788c83abf74ded68d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1199d9ef403213788c83abf74ded68d8">&#9670;&nbsp;</a></span>canvas</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">C <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::canvas</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>object, representing canvas. Use it in your draw handler </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00100">100</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a184dd26abea919c6a7d84d2d20b53a75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a184dd26abea919c6a7d84d2d20b53a75">&#9670;&nbsp;</a></span>m_onDraw</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="tiler_8h.html#a5db298dc5fe7132d3190e5e423b6da6a">TNanoEngineOnDraw</a> <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::m_onDraw = nullptr</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Callback to call if specific tile needs to be updated </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00262">262</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="aaa4fafbc1339cb6bef17d0aeabd94a44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa4fafbc1339cb6bef17d0aeabd94a44">&#9670;&nbsp;</a></span>m_refreshFlags</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::m_refreshFlags</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Contains information on tiles to be updated. Elements of array are rows and bits are columns. </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00259">259</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="ac8565b5893234cf6a90723520df35201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8565b5893234cf6a90723520df35201">&#9670;&nbsp;</a></span>NE_MAX_TILES_NUM</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint8_t <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::NE_MAX_TILES_NUM = 64 &gt;&gt; (B - 3)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Max tiles supported in X </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00097">97</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="ae69fc60e9fcc37ec005e21af90a67759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae69fc60e9fcc37ec005e21af90a67759">&#9670;&nbsp;</a></span>NE_TILE_HEIGHT</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::NE_TILE_HEIGHT = H</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Height of tile in pixels </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00095">95</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="aff885e01ce1a84146fbaa1ea38e47b37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff885e01ce1a84146fbaa1ea38e47b37">&#9670;&nbsp;</a></span>NE_TILE_SIZE_BITS</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint8_t <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::NE_TILE_SIZE_BITS = B</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Number of bits in tile size. 5 corresponds to 1&lt;&lt;5 = 32 tile size </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00091">91</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<a id="a08c84aaa34760f914a309006cb775f78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08c84aaa34760f914a309006cb775f78">&#9670;&nbsp;</a></span>NE_TILE_WIDTH</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C, lcduint_t W, lcduint_t H, uint8_t B&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> <a class="el" href="class_nano_engine_tiler.html">NanoEngineTiler</a>&lt; C, W, H, B &gt;::NE_TILE_WIDTH = W</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Width of tile in pixels </p>

<p class="definition">Definition at line <a class="el" href="tiler_8h_source.html#l00093">93</a> of file <a class="el" href="tiler_8h_source.html">tiler.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>nano_engine/<a class="el" href="tiler_8h_source.html">tiler.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
